const express = require('express')
const router = express.Router()

// 引入相关的模块
const { readFiles } = require('../../utils/filesRead')
const { getBooksDataApi, queryBooksApi } = require('../books')
const { filesQueryReq } = require('../files')
const { menuRoleReq } = require('../menu')
const users = require('../users')
const { upload, handleFileUpload } = require('../common/filesUpload')
const { uploadFileToDB } = require('../../libraryDB/common/filesUpload')
const { deepspeekMsg } = require('../deepspeek')

// 文件上传本地
router.post('/common/files/upload', upload.single('file'), async (req, res) => {
  try {
    const result = await handleFileUpload(req, res)

    res.status(200).json(result)
  } catch (err) {
    // console.error('文件上传失败:', err)
    console.log(1111111)

    res.status(500).json({ message: '文件上传失败', error: err.message })
  }
})
// 文件上传到服务器
router.post('/common/files/upload/db', uploadFileToDB)
// 获取图书数据的接口
router.post('/books/add', (req, res) => {
  getBooksDataApi(req, res)
    .then((data) => {
      res.status(200).json(data)
    })
    .catch((err) => {
      res.status(500).json({ message: '获取图书数据失败', error: err })
    })
})

// 查询图书的接口
router.post('/books/query', (req, res) => {
  queryBooksApi(req, res)
    .then((data) => {
      res.status(200).json(data)
    })
    .catch((err) => {
      res.status(500).json({ message: '查询图书失败', error: err })
    })
})

// 读取文件的接口
router.get('/readFile', (req, res) => {
  readFiles('../files/ccc.txt', 'utf8')
    .then((fileContent) => {
      res.status(200).json({ content: fileContent })
    })
    .catch((err) => {
      res.status(500).json({ message: '读取文件失败', error: err })
    })
})

// 文件查询接口
router.post('/filesQuery', (req, res) => {
  filesQueryReq(req, res)
    .then((result) => {
      res.status(200).json(result)
    })
    .catch((err) => {
      res.status(500).json({ message: '文件查询失败', error: err })
    })
})

// 获取菜单角色的接口
router.post('/menu/role', (req, res) => {
  console.log(req.body, 1111)
  menuRoleReq(req, res)
    .then((result) => {
      res.status(200).json(result)
    })
    .catch((err) => {
      res.status(500).json({ message: '获取菜单角色失败111111', error: err })
    })
})

// 用户登录的接口
router.post('/user/login', (req, res) => {
  console.log(1111111)

  users
    .loginReq(req, res)
    .then((userData) => {
      console.log(userData, 1111111)
      res.status(200).json(userData)
    })
    .catch((err) => {
      res.status(500).json({ message: '登录失败', error: err })
    })
})

// 用户注册的接口
router.post('/register', (req, res) => {
  users
    .userRegistrationReq(req, res)
    .then((registrationData) => {
      res.status(200).json(registrationData)
    })
    .catch((err) => {
      res.status(500).json({ message: '注册失败', error: err })
    })
})

// 查询用户列表的接口
router.post('/user/query', (req, res) => {
  users
    .queryUsersListReq(req, res)
    .then((usersList) => {
      res.status(200).json(usersList)
    })
    .catch((err) => {
      res.status(500).json({ message: '查询用户列表失败', error: err })
    })
})

router.post('/deepspeek/ai', (req, res) => {
  console.log(req.body, 11111111)
  deepspeekMsg(req, res)
    .then((result) => {
      res.status(200).json(result)
    })
    .catch((err) => {
      res.status(500).json({ message: 'AI服务异常', error: err })
    })
})
module.exports = router
